function finish_task() {
    var status = $(this).data('status');
    // console.log(status);
    var taskid = $(this).data('task_id');
    var data = {
        'status': status,
    }
    var context = {
        'cb': $(this),
    }
    update_task(taskid, 'PATCH', data, context, update_page);
}

function update_page(res, ctx) {
    var span = $('#task_status');
    span.data('task_status', res['status']);
    $('button.js-task-btn').remove();
    show_task_btns();
}

function add_button(status, span) {
    var btn = $('<button type="button" data-task_id="' + $.py.task_id + '" class="btn btn-primary js-task-btn"></button>');
    btn.on('click', finish_task);
    btn.html('mark task as ' + status);
    btn.data('status', status);
    span.after(btn);
}

function show_task_btns() {
    var span = $('#task_status');
    if (span.length) {
        span.hide();
        if (span.data('task_status') == 'DONE') {
            add_button('TODO', span);
            add_button('DOING', span);
        }
        else if (span.data('task_status') == 'TODO') {
            add_button('DONE', span);
            add_button('DOING', span);
        }
        else if (span.data('task_status') == 'DOING') {
            add_button('TODO', span);
            add_button('DONE', span);
        }
        else {
            console.log('unknown status!');
        }
    }
}

$(document).ready(function() {
    show_task_btns();
});
